
// ====== 微信适配器（保持不变） ======
console.log('==== 微信适配器初始化 ====');

const globalObj = typeof globalThis !== 'undefined' ? globalThis : 
                 typeof wx !== 'undefined' ? wx : window;

if (typeof globalObj.Game === 'undefined') {
  console.log('正在注册Game构造函数');
  globalObj.Game = function(config) {
    console.log('[微信适配器] 创建游戏实例');
    
    // 修正this绑定问题
    const game = {
      canvas: null,
      onLaunch: function() {
        console.log('[生命周期] onLaunch触发');
        game.initGame(); // 通过闭包访问game对象
      },
      onShow: config.onShow || function(){},
      onHide: config.onHide || function(){},
      initGame: config.initGame || function() {
        console.log('默认initGame被调用');
      }
    };

    try {
      game.canvas = wx.createCanvas();
      console.log('画布尺寸:', game.canvas.width + 'x' + game.canvas.height);
      
      wx.onShow(() => game.onShow());
      wx.onHide(() => game.onHide());
      
      game.onLaunch();
      return game;
      
    } catch (err) {
      console.error('游戏初始化失败:', err);
      wx.showToast({
        title: '初始化错误',
        icon: 'none',
        duration: 3000
      });
      throw err;
    }
  };
}

// ====== 游戏主逻辑 ======
console.log('==== 开始游戏初始化 ====');
try {
  // 游戏配置
  const gameConfig = {
    onShow() {
      console.log('[生命周期] onShow触发');
    },
    
    onHide() {
      console.log('[生命周期] onHide触发');
    },
    
    initGame() {
      console.log('游戏核心初始化开始');
      
      // 基础渲染测试
      const ctx = this.canvas.getContext('2d');
      ctx.fillStyle = '#3498db';
      ctx.fillRect(0, 0, this.canvas.width, this.canvas.height);
      
      ctx.fillStyle = '#ffffff';
      ctx.font = '24px Arial';
      ctx.textAlign = 'center';
      ctx.fillText('游戏初始化成功', this.canvas.width/2, this.canvas.height/2);
      
      console.log('基础渲染测试完成');
    }
  };

  // 创建游戏实例
  console.log('准备创建Game实例');
  Game(gameConfig);
  console.log('Game实例创建完成');

} catch (e) {
  console.error('游戏启动失败:', e);
  wx.showToast({
    title: '游戏启动异常',
    icon: 'none',
    duration: 5000
  });
}

console.log('==== 调试结束标记 ====');